<template>
    <div class="express-assign" >
        <!--主任务-->
        <div class="main-task">
            <!--<el-row>-->
            <div v-if="myValue['mission']">
                <el-row class="paddbottm" v-show="myValue['mission']['target']['type'] === 'pick_up' || myValue['mission']['target']['type'] === 'go_spot_pick' || myValue['mission']['target']['type'] === 'send_to_send'">
                    <el-col :span="4" class="alignright">指派司机：</el-col>
                    <el-col :span="18">
                        <driver-cascader v-model="myValue['driver_id']" :cascader-option="cascaderOption" :palace-name="'指派司机'"></driver-cascader>
                    </el-col>
                </el-row>
                <el-row class="paddbottm">
                    <el-col :span="4" class="alignright">主任务：</el-col>
                    <el-col :span="18">
                        <express-radio
                                v-model="myValue['mission']['target']['type']"
                                :dataList='datalist'>
                        </express-radio>
                    </el-col>
                </el-row>
                <main-task
                        v-model="myValue['mission']"
                        :taskIndex="1"
                        :option="option"
                        :cascaderOption="cascaderOption"
                        :mapId="'map-main'"
                        :inputId="'inputzhipai'">
                </main-task>
            </div>

        </div>
        <!--主任务-->
        <!--后置任务-->
        <!--<el-row class="paddbottm">-->
            <!--<el-col :span="6" class="alignright">是否指派后置任务：</el-col>-->
            <!--<el-col :span="12">-->
                <!--<el-switch-->
                        <!--v-model="isNextTask"-->
                        <!--active-color="#009688"-->
                        <!--inactive-color="#ccc">-->
                <!--</el-switch>-->
            <!--</el-col>-->
        <!--</el-row>-->
        <div  v-if="myValue['mission'] || myValue['next']">
            <div class="postposition-task" v-show="myValue['mission']['target']['type'] === 'go_point' || myValue['mission']['target']['type'] === 'pick_up' || myValue['mission']['target']['type'] === 'go_spot_pick'">
                <el-row class="paddbottm">
                    <el-col :span="4" class="alignright">后置任务：</el-col>
                    <el-col :span="18" v-if="myValue['next']">
                        <express-radio
                                v-model="myValue['next']['target']['type']"
                                :dataList='datalistNext'>
                        </express-radio>
                    </el-col>
                </el-row>
                <main-task
                        v-model="myValue['next']"
                        :taskIndex="2"
                        :option="option"
                        :cascaderOption="cascaderOption"
                        :mapId="'map-next'"
                        :inputId="'inputnext'">
                </main-task>
            </div>
        </div>
        <!--后置任务-->


    </div>
</template>

<script>
    import DriverCascader from '.././cascader/Cascader';
    import MainTask from '../assign/AssignTask';
    import ExpressRadio from '../../ui/Radio';

    export default {
        name: "ExpressAssign",
        components: {
            MainTask,
            ExpressRadio,
            DriverCascader
        },
        props: {
            value: {
                type: Object,
                default: () => {
                    return {}
                }
            },
            datalist: {
                type: Array,
                default: () => {
                    return []
                }
            },
            datalistNext: {
                type: Array,
                default: () => {
                    return []
                }
            },
            option: {
                type: Array,
                default: () => {
                    return []
                }
            },
            cascaderOption: {
                type: Array,
                default: () => {
                    return []
                }
            }
        },
        data() {
            return {
                myValue: {},
                expressModel: 'pick_up',
                expressModelNext: 'go_spot_send',
                mainTaskData: {}, // 主任务
                isNextTask: false, // 是否安排后置任务
                nextTaskData: {}, // 后置任务
                assignDriver: '', // 指派司机选择
            }
        },
        mounted() {
            this.myValue = this.value;
        },
        watch: {
            value: {
                handler() {
                    this.myValue = this.value;
                },
                deep:true
            },
            myValue: {
                handler(value) {
                    this.$emit('input', value);
                },
                deep: true
            }
        },
        methods: {
            // submitOrder() {
            //     let nextData = {};
            //     let overData = {};
            //     let nextDataInside = {};
            //     let nextDataOutside = {};
            //     if (!this.assignDriver) {  // 是否指派司机（必填）
            //         this.$message.error('主任务指派司机未选择！');
            //         return;
            //     }
            //     if (this.expressModel == '1') {
            //         if (this.mainTaskData.siteSelect == 0) {  // 中转任务时中转站点（必填）
            //             this.$message.error('中转任务时站点必须选择！');
            //             return;
            //         }
            //     }
            //     if (this.expressModel == '0' || this.expressModel == '1') {
            //         switch (this.expressModelNext) {
            //             case '0':
            //                 nextDataInside = {
            //                     next: {
            //                         target: {
            //                             type: "pick_up"
            //                         }
            //                     }
            //                 }; // 取件
            //                 break;
            //             case '1':
            //                 if (this.nextTaskData.siteSelect == 0) {
            //                     this.$message.error('后置任务中转时站点必须选择！');
            //                     return;
            //                 }
            //                 nextDataInside = {
            //                     next: {
            //                         target: {
            //                             type: "go_spot", // 中转
            //                             spot_id: Number(this.nextTaskData.siteSelect.toString()),  //站点
            //                             driver_id: Number(this.nextTaskData.driverSelect.toString()) == 0 ? '' : Number(this.nextTaskData.driverSelect.toString()),  //不传就是站长
            //                         }
            //                     }
            //                 }; // 中转
            //                 break;
            //             case '2':
            //                 nextDataInside = {
            //                     next: {target: {type: "send_to_send"}}
            //                 }; // 派送
            //                 break;
            //             case '3':
            //                 nextDataInside = {
            //                     next: {
            //                         target: {
            //                             type: "go_point", // 调度
            //                             address: this.nextTaskData.accurateAddress,
            //                             lat: this.nextTaskData.latitude,
            //                             lon: this.nextTaskData.longitude,
            //                             driver_id: ''
            //                         }
            //                     }
            //                 }; // 调度
            //                 break;
            //         }
            //         nextDataOutside = {
            //                 limit_time: this.nextTaskData.dateTimes,  // 时间
            //                 comment: this.nextTaskData.remark,  // 备注
            //                 priority: this.nextTaskData.priority,//0-100
            //         }
            //         nextData = Object.assign({}, nextDataInside.next, nextDataOutside);
            //         overData = {
            //             next: nextData
            //         }
            //     }
            //     let target = this.judgeTask(); // 主任务判断是取件， 派件， 中转 分别判断参数
            //     // let params = {
            //     //     driver_id: "", // 司机id
            //     //     order_ids: "", // 订单id
            //     //     target: {   // 主任务
            //     //         type: "pick_up", // 取件
            //     //     },
            //     //     target: {   // 主任务
            //     //         type: "send_to_send", // 派送
            //     //     },
            //     //     target: {   // 主任务
            //     //         type: "go_spot", // 中转
            //     //         spot_id: 1,  //站点
            //     //         driver_id: 1,  //不传就是站长
            //     //     },
            //     //     target: {   // 主任务
            //     //         type: "go_point", // 调度
            //     //         address: "",
            //     //         lat: "",
            //     //         lon: "",
            //     //         driver_id: 1
            //     //     },
            //     //     next: {  // 后置任务
            //     //         type: "go_spot",  // 派送
            //     //         go_spot: [1, 2]
            //     //     },
            //     //     next: {  // 后置任务
            //     //         type: "go_point",
            //     //         address: "",
            //     //         lat: "",
            //     //         lon: "",
            //     //         driver_id: 1
            //     //     },
            //     //     limit_time: this.dateTimes,  // 时间
            //     //     comment: "",  // 备注
            //     //     priority: "",//0-100
            //     // };
            //     let param = {
            //         driver_id: Number(this.assignDriver[2].toString()) ? Number(this.assignDriver[2].toString()) : '', // 司机id
            //         // order_ids: this.orderId, // 订单id
            //         limit_time: this.mainTaskData.dateTimes,  // 时间
            //         comment: this.mainTaskData.remark,  // 备注
            //         priority: this.mainTaskData.priority,//0-100
            //     };
            //     let params = Object.assign(param, target, overData);
            //     console.info('提交的参数', params);
            //     this.postTask(params);
            // },  // 确认提交
            // postTask(params) {
            //     this.$http.post('express/mission', params)
            //         .then((response) => {
            //             console.info('成功后返回的数据', response.data);
            //         })
            //         .catch((error) => {
            //             if (error.response.data.msg) {
            //                 this.$message.error(error.response.data.msg);
            //             } else {
            //                 this.$message.error('请求错误：' + error.response.status);
            //             }
            //         });
            // },
            // judgeTask() {
            //     switch (this.expressModel) {
            //         case '0':
            //             return this.getTakePart();  // 获取待传取件参数
            //             break;
            //         case '1':
            //             return this.getTransfer();// 获取中转件参数
            //             break;
            //         case '2':
            //             return this.getSendOut();// 获取派送件参数
            //             break;
            //         case '3':
            //             return this.getDispatch();// 获取调度参数
            //             break;
            //     }
            // },
            // getTakePart() {
            //     let targets = {};
            //     return targets = {target: {type: "pick_up"}} // 取件
            //
            // },// 获取取件参数
            // getTransfer() {
            //     let targets = {};
            //     return targets = {
            //         target: {
            //             type: "go_spot", // 中转
            //             spot_id: Number(this.mainTaskData.siteSelect.toString()),  //站点
            //             driver_id: Number(this.mainTaskData.driverSelect.toString()) == 0 ? '' : Number(this.mainTaskData.driverSelect.toString()),  //不传就是站长
            //         }
            //     } // 取件
            // },// 获取中转件参数
            // getSendOut() {
            //     let targets = {};
            //     return targets = {target: {type: "send_to_send"}} // 取件
            // },// 获取派送件参数
            // getDispatch() {
            //     let targets = {};
            //     return targets = {
            //         target: {
            //             type: "go_point", // 调度
            //             address: this.mainTaskData.accurateAddress,
            //             lat: this.mainTaskData.latitude,
            //             lon: this.mainTaskData.longitude,
            //             driver_id: ''
            //         }
            //     } // 取件
            // },// 获取调度参数

        }
    }
</script>

<style scoped lang="less">
    .express-assign {
        .main-task, .postposition-task {
            padding: 0 0 20px;
            .model-radio {
                margin-left: 0px !important;
            }
        }

        .alignright {
            text-align: right;
        }
        .paddbottm {
            padding-bottom: 10px;
            line-height: 40px;
        }

    }
</style>
